System and method for connecting pending and preset telephone calls to facilitate transitioning to a phone call

ABSTRACT

A system and method for connecting pending and preset telephone calls to facilitate transitioning to a phone call. Embodiments of the present invention include a method for anticipating and connecting a telephone call comprising identifying a trigger action associated with an anticipated outgoing telephone call, retrieving a phone number associated with said trigger action, and automatically setting a programmable speed dial button wherein by selecting the speed dial button, said phone number associated with said trigger action is dialed. Embodiments of the present invention also include a system for anticipating and connecting outgoing telephone calls comprising a computer system comprising a processor coupled to a bus, a database coupled to said bus, a call engine coupled to said bus wherein said call engine identifies trigger actions associated with outgoing telephone calls and retrieves phone numbers associated with said trigger actions, and a telephone coupled to said computer system wherein said telephone is coupled to a telephone network.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to the field of telephony. Morespecifically, embodiments of the present invention relate to a methodand system for connecting pending and preset telephone calls tofacilitate transitioning to a phone call.

[0003] 2. Related Art

[0004] The field of personal communications has grown exponentially overthe past 10 years. Users have many options when they want to communicatewith someone including for instance telephones, cellular phones,electronic mail and instant messaging. It is convenient to have manyoptions when communicating because sometimes one method of communicationis more appropriate than another. In addition to many communicationoptions, multiple advances in each of the communications areas providemore communication convenience than ever. For example, caller ID allowsa user to view the identity of the calling party without answering acall. If the called party does not wish to take a call from a particularcaller, the user has the option to screen the calls without theknowledge of the caller.

[0005] Caller identification provides the called party with the nameand/or telephone number of the calling party. Caller identification isusually provided to a customer by its local central office. Most often,each central office has access to a local database containing telephonenumbers and the corresponding names of people within its local area.Before connecting a call to the called party, the central officesearches its database for the telephone number of the calling party. Ifthe telephone number is found within the database, the namecorresponding to that number will be accessed and delivered to thecalled party by the central office using a predetermined protocol.Caller ID relies on a computer to direct information to a called party.Caller ID is useful for identifying a caller's identity, but it is nottypically useful for placing a call.

[0006] For example, Prior Art FIG. 1A illustrates a conventional calleridentification system 10 implemented on a conventional telephone.Telephone 11 comprises a receiver 22, number keys 20, special functionbuttons 18 and caller ID screen 12. When a call is received, thecaller's identification 14 is displayed on the screen 12 as well as thetelephone number 16 associated with the caller's ID 14. When a call isreceived, the receiving user can identify the caller and choose whetherto take or ignore the incoming call. While useful on incoming telephonecalls, conventional caller identification is not useful for outgoingtelephone calls.

[0007] Conversely, on many cellular phones, call history is stored in amemory for easy retrieval in the future. For example, if a call ismissed, on many cellular phones, the phone number corresponding to themissed call is stored in memory. If a user wants to call the missedcaller, a look-up can be done by viewing the missed call database. Manytimes, a user can push a single button to call a missed phone numberwithout having to type the number into the phone.

[0008] Prior Art FIG. 1B illustrates a conventional cellular telephonesystem 30 that uses caller identification to facilitate outgoing calls.In Prior Art FIG. 1B, cellular telephone 32 comprises a display screen34 and menu buttons 38 and 36. When an incoming call is missed,typically the caller's identity and telephone number are displayed onscreen 34. After a call is missed, the user can select button 38 to callthe missed phone number or button 36 to store the phone number andcorresponding name to a phonebook database.

[0009] Although caller ID technology is convenient to identify theidentity of an incoming caller and for calling back a missed caller,conventional caller identification does not facilitate any telephonyfunctions without an initial incoming call.

[0010] Moreover, many phone calls are a result of some other relatedaction. For example, a user may receive an electronic mail message anddecide to call the person back to respond. Or, a user may receive aninstant message (IM) and decide to call rather than type out a response.Or, a user may look up a person in an address book and decide to thencall the person.

SUMMARY OF THE INVENTION

[0011] Accordingly, what is needed is a system and method foridentifying triggers associated with causing a user to place an outgoingcall and for automatically calling a party associated with the trigger.In one aspect, the system can identify communication with another personby examining triggers such as electronic mail messages, instantmessages, cellular phone calls and other communication triggers andbased on particular triggers, an outgoing call can be automaticallyconnected. In another aspect, the system and method can use a computerdatabase and rules engine to “learn” associated actions and predictfuture actions based on previous actions or triggers.

[0012] The present invention recognizes that related actions can beidentified that often lead to placing a phone call in response to theaction. The present invention streamlines that process by programming atelephone device to set up a call in anticipation of the usertransferring from one communication or data mechanism to a phone call.

[0013] The present invention recognizes that telephony is only one pointalong a spectrum of audio connections between people, including intercom“push-to-talk” audio and hands free “connected-all-the-time” audiomedia. The embodiments of the present invention therefore allow smoothtransitions into and out of phone calls from other interactionscontrolled by a computer, for instance.

[0014] Specifically, a system and method for connecting pending andpreset telephone calls to facilitate transitioning to a phone call arepresented. Embodiments of the present invention include a method foranticipating and connecting a telephone call comprising identifying atrigger action associated with an anticipated outgoing telephone call,retrieving a phone number associated with said trigger action, andautomatically setting a programmable speed dial button wherein byselecting the speed dial button, said phone number associated with saidtrigger action is automatically dialed.

[0015] Embodiments of the present invention also include a system forfacilitating outgoing telephone calls comprising a computer systemcomprising a processor coupled to a bus, a database coupled to said bus,a call engine coupled to said bus wherein said call engine identifiestrigger actions associated with outgoing telephone calls and retrievesphone numbers associated with said trigger actions, and a telephonecoupled to said computer system wherein said telephone is coupled to atelephone network.

[0016] Embodiments of the present invention may be used to automaticallyset-up pending phone calls, e.g., by automatically programming callinformation into a speed dial button, or, set-up a preset phone callwhere the connection is already made and the line is placed on holdawaiting the user to merely pick up the handset to become part of thecall.

[0017] Exemplary triggers which lead to automatic set-up of pending andpreset phone calls include, for example, receiving an electronic mailmessage, receiving an instant message from someone, looking up aperson's information in an electronic phone book database, receiving avoice mail message from someone, examining a web page, talking tosomeone on a cell phone, etc. Triggers can also be based on calendar ormeeting information programmed into an electronic calendar application.

[0018] These and other objects and advantages of the present inventionwill no doubt become obvious to those of ordinary skill in the art afterhaving read the following detailed description of the preferredembodiments, which are illustrated in the various drawing figures.

BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The accompanying drawings, which are incorporated in and form apart of this specification, illustrate embodiments of the invention and,together with the description, serve to explain the principles of theinvention.

[0020]FIG. 1A is an illustration of a prior art telephone system thatuses conventional caller identification functionality to display thename and phone number of a caller.

[0021]FIG. 1B is an illustration of a prior art cellular phone systemthat uses conventional caller identification functionality to preset asoft speed dial button for a phone number of a missed call.

[0022]FIG. 2 is a block diagram of an exemplary computer system inaccordance with an embodiment of the present invention.

[0023]FIG. 3 is a logical block diagram illustrating an exemplarycomputer system coupled to the Internet and a telephone network inaccordance with an embodiment of the present invention.

[0024]FIG. 4 is a flow diagram illustrating an exemplary process whereina soft speed dial button is programmed after an associated trigger isidentified in accordance with an embodiment of the present invention.

[0025]FIG. 5 is a flow diagram illustrating an exemplary process whereina pending call is connected after an associated trigger is identified inaccordance with an embodiment of the present invention.

[0026]FIG. 6 is a flow diagram of an exemplary process wherein thelocation of a user is determined and an incoming call is directed to thelocation of the user in accordance with an embodiment of the presentinvention.

[0027]FIG. 7A is an illustration of an exemplary telephone system thatuses a soft speed dial button in accordance with an embodiment of thepresent invention.

[0028]FIGS. 7B through 7E are illustrations of triggers that wouldprompt an outgoing phone call in accordance with an embodiment of thepresent invention.

[0029]FIG. 8 is a flow diagram of an exemplary process wherein anelectronic mail message triggers an outgoing call in accordance with anembodiment of the present invention.

[0030]FIG. 9 is a flow diagram of an exemplary process wherein a URLrequest triggers an outgoing call in accordance with an embodiment ofthe present invention.

[0031]FIG. 10 is a flow diagram illustrating an exemplary processwherein highlighting a word triggers an outgoing call in accordance withan embodiment of the present invention.

[0032]FIG. 11A is a flow diagram of an exemplary process wherein anelectronic database inquiry triggers an outgoing phone call inaccordance with an embodiment of the present invention.

[0033]FIG. 11B is a flow diagram of an exemplary process whereinentering data into an electronic calendar database triggers an outgoingphone call in accordance with an embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

[0034] Reference will now be made in detail to the preferred embodimentsof the invention, examples of which are illustrated in the accompanyingdrawings. While the invention will be described in conjunction with thepreferred embodiments, it will be understood that they are not intendedto limit the invention to these embodiments. On the contrary, theinvention is intended to cover alternatives, modifications andequivalents, which may be included within the spirit and scope of theinvention as defined by the appended claims. Furthermore, in thefollowing detailed description of the present invention, numerousspecific details are set forth in order to provide a thoroughunderstanding of the present invention. However, it will be obvious toone of ordinary skill in the art that the present invention may bepracticed without these specific details. In other instances, well-knownmethods, procedures, components, and circuits have not been described indetail as not to unnecessarily obscure aspects of the present invention.

Notation and Nomenclature

[0035] Some portions of the detailed descriptions that follow arepresented in terms of procedures, logic blocks, processing, and othersymbolic representations of operations on data bits within a computermemory. These descriptions and representations are the means used bythose skilled in the data processing arts to most effectively convey thesubstance of their work to others skilled in the art. A procedure, logicblock, process, etc., is here, and generally, conceived to be aself-consistent sequence of steps or instructions leading to a desiredresult. The steps are those requiring physical manipulations of physicalquantities. Usually, though not necessarily, these quantities take theform of electrical or magnetic signals capable of being stored,transferred, combined, compared, and otherwise manipulated in a computersystem. It has proven convenient at times, principally for reasons ofcommon usage, to refer to these signals as bits, bytes, values,elements, symbols, characters, terms, numbers, or the like.

[0036] It should be borne in mind, however, that all of these andsimilar terms are to be associated with the appropriate physicalquantities and are merely convenient labels applied to these quantities.Unless specifically stated otherwise as apparent from the followingdiscussions, it is appreciated that throughout the present invention,discussions utilizing terms such as “setting,” “storing,” “scanning,”“receiving,” “sending,” “disregarding,” “entering,” or the like, referto the action and processes (e.g., processes 400, 500, 600) of acomputer system or similar intelligent electronic computing device, thatmanipulates and transforms data represented as physical (electronic)quantities within the computer system's registers and memories intoother data similarly represented as physical quantities within thecomputer system memories or registers or other such information storage,transmission or display devices.

[0037] Referring now to FIG. 2, a block diagram of exemplary computersystem 12 is shown. It is appreciated that computer system 12 of FIG. 2described herein illustrates an exemplary configuration of anoperational platform upon which embodiments of the present invention canbe implemented. Nevertheless, other computer systems with differingconfigurations can also be used in place of computer system 12 withinthe scope of the present invention. For example, computer system 12could be a server system, a personal computer or an embedded computersystem such as a mobile telephone or pager system.

[0038] Computer system 12 includes an address/data bus 10 forcommunicating information, a central processor 1 coupled with bus 10 forprocessing information and instructions, a volatile memory unit 2 (e.g.,random access memory, static RAM, dynamic RAM, etc.) coupled with bus 10for storing information and instructions for central processor 1 and anon-volatile memory unit 3 (e.g., read only memory, programmable ROM,flash memory, EPROM, EEPROM, etc.) coupled with bus 10 for storingstatic information and instructions for processor 1. Computer system 12may also contain an optional display device 5 coupled to bus 10 fordisplaying information to the computer user. One embodiment of thepresent invention includes the use of LCD display 120. Moreover,computer system 12 also includes a data storage device 4 (e.g., diskdrive) for storing information and instructions. In one embodiment ofthe present invention, data storage device 4 is a cache memory.

[0039] Also included in computer system 12 of FIG. 2 is an optionalalphanumeric input device 6. Device 6 can communicate information andcommand selections to central processor 1. Computer system 12 alsoincludes an optional cursor control or directing device 7 coupled to bus10 for communicating user input information and command selections tocentral processor 1. Computer system 12 also includes signalcommunication interface 8, which is also coupled to bus 10, and can be aserial port. Communication interface 8 can also include number ofwireless communication mechanisms such as infrared or a Bluetoothprotocol. Computer system 12 of FIG. 2 also includes a phone system 100with a speed dial button 108. Phone system 100 is coupled to a telephonenetwork 64. In one embodiment of the present invention, the telephonesystem 100 is interfaced on a computer system and uses a voice over IPprotocol (VOIP).

[0040] Although the system and method for identifying triggers andautomatically connecting outgoing calls of the present invention may beimplemented in a variety of different electronic systems such as amobile computer system, an embedded system, etc., one exemplaryembodiment includes the implementation on a computer server system. Itshould be understood that the descriptions corresponding to FIG. 2provide some general information about an exemplary computing system.

[0041] Embodiments of the present invention relate to a computercontrolled telephone device such as a computer controlled conventionalphone or a voice over IP (VOIP) phone. Embodiments of the presentinvention provide a phone system that can be programmed to set up anoutgoing call based on specific trigger actions. The type of programmingis determined by the context of the interactions that the computer cansense that anticipate an outgoing call. For example, if a person islooked up in an address book, the phone should be ready to place a callto the person that was looked up. Furthermore, if an electronic calendarapplication has a phone conference scheduled, the phone should call allof the parties associated with the phone conference. “Outgoing calls”can be pending calls or preset calls.

[0042] Embodiments of the present invention can be used to facilitateset-up of both pending phone calls and preset phone calls. Pending phonecalls are ones where the phone connection is already set-up (the phonenumber has already been dialed and put on hold) and picking up thehandset essentially puts the user in a connected phone call (taking thecall off hold). Typically, the user might expect both parties on the endof a pending phone call to pick up at the same time, but if one personpicks up on a pending call, the other side gets a distinctive phonechirp instead of the usual ring. The parties involved in theconversation typically expect a pending call. In one embodiment of thepresent invention, a pending call is set up between multiple parties,e.g., a conference call between 10 board members. Preset phone calls areones where a “programmable speed dial button” is programmed to dial acertain number. Completing the call involves picking up the handset andpressing the “preset” dial button, which initiates a traditionaltelephony call. In one embodiment of the present invention, a presettelephone call establishes a connection between multiple parties, e.g.,a conference call between 10 board members.

[0043]FIG. 3 is a logical block diagram 50 illustrating an exemplarycomputer system coupled to the Internet and a telephone network (orcould be VOIP through a computer and computer network). Embodiments ofthe present invention relate to a system and method for identifyingtriggers for an outgoing call and automatically connecting the call.Computer system 12 comprises a call engine 56 for identifying triggersfor outgoing calls and a database 58 for looking up phone numbersassociated with an outgoing call. It is appreciated that database 58could be a resource located on a remote server, but for simplicitydatabase 58 is coupled to computer system 12. Database 58 may obtaininformation, e.g., caller ID type data, from the call engine 56. Thesystem and method for identifying triggers and automatically connectingoutgoing calls of the present invention may be implemented in a varietyof different electronic systems such as computer system 12 but, couldalso be implemented on a portable computer system, an embedded system,etc., one exemplary embodiment includes the implementation on a computerserver system.

[0044] Coupled to computer 12 is telephone 52 that is also coupled totelephone network 64. In one embodiment of the present invention,telephone system 52 is integrated into computer 12, but could also becoupled to the computer system via a wired or wireless connection. Inanother embodiment telephone calls are made by utilizing voice over IPto communicate. In another embodiment of the present invention,telephone system 52 is a corporate telephone network for instancewherein a logic device coupled to telephone system 52 controls telephonyactions.

[0045] In another embodiment of the present invention, computer 12 iscoupled to the Internet 60. In an additional embodiment of the presentinvention, Internet connection 60 may be a corporate Intranet forinstance. In addition to the Internet 60, computer system 12 is coupledto a wireless communications network 62. In one embodiment of thepresent invention, computer 12 is coupled to wireless communicationsnetwork 62 wirelessly, for example Bluetooth communication. It isappreciated that telephone system 52 includes a telephone device 100having a handset and a number of buttons that can be programmed, e.g.,speed dial buttons.

[0046]FIG. 4 is a flow diagram 400 of an exemplary process wherein asoft speed dial button is programmed (e.g., on device 100) after anassociated trigger is identified in accordance with an embodiment of thepresent invention. Embodiments of the present invention identifytriggers for an outgoing telephone call and automatically performtelephony functions based on the triggers. Flow diagram 400 starts withstep 402, identifying a trigger for an outgoing call. In one embodimentof the invention, an activity log is stored in a database such asdatabase 56 of FIG. 3. After a period of time, the activity log issubstantial enough for a call engine 58 of FIG. 3 to “learn” triggersfor outgoing telephone calls. In addition to an activity log, in oneadditional embodiment of the present invention, rules can be createdmanually. For example a rule can be created such that an incoming (oroutgoing) electronic mail message triggers an outgoing call.

[0047] Once a trigger has been identified, the next step 404 is to lookup the phone number associated with the trigger. In one embodiment ofthe present invention, the phone number is retrieved from the headerportion of an electronic message. In an additional embodiment of thepresent invention, a remote resource, such as a telephone company'scentral office is accessed for the phone number. Once the phone numberis retrieved, the next step 406 is to program the phone number into asoft speed dial button. For clarity, a soft speed dial button is adynamic speed dial button that can be programmed. Once programmed, thephone number can be dialed by selecting the button. The steps ofprogramming 406 may include presenting an identifier of the person whosephone number has just been programmed into the speed dial button, e.g.,by the use of a small display on the phone device associated with thespeed dial button. In one embodiment of the invention, the telephonesystem is integrated into a computer system. In this embodiment, a softspeed dial button can be accessed and selected through a graphical userinterface. The last step 410 is to select the soft speed dial button toconnect the call. After setting up a preset telephone call, a user mustselect a soft speed dial button to connect the call. Alternatively,after establishing a pending call, a user can just “pick up thereceiver” to connect the call.

[0048]FIG. 5 is a flow diagram 500 illustrating an exemplary processwherein a pending call is connected after an associated trigger isidentified in accordance with an embodiment of the present invention. Apending phone call is a call that is essentially connected between twoor more parties and then placed on hold awaiting users to “pick up thereceiver” to complete the call. A pending call is convenient because thecaller merely needs to pick up the receiver to talk with the otherparty(s). When transitioning to a pending call, the first step 502 is toidentify a trigger for an outgoing call. This step is similar to step402 of FIG. 4. The next step 504 is to access a phone number associatedwith the trigger. The next 506 is to connect the pending call. The callwill be connected through the phone network, waiting for users tocomplete the call by “picking up the receiver.” The last step 510 is topick up the receiver to complete the call. It is appreciated that a userdoes not need to physically pick up the receiver. The phrase “pick upthe receiver” has been used for descriptive purposes. It is recognizedthat many telephones utilize different telephony functions to “pick upthe receiver,” e.g., press a phone button to invoke a speaker phone orheadset function.

[0049] A pending call does not require additional user involvement otherthan “picking up the receiver.” In most instances, users involved in apending call will anticipate the pending call and will “pick up thereceiver” essentially at the same time. If for some reason a user doesnot pick up the receiver, a notification will be sent to alert the userthat a pending call has been established. In one embodiment of thepresent invention, a user will receive an audible notification of apending call. In another embodiment, a user will receive a visualnotification of a pending call.

[0050] In one embodiment of the present invention, the trigger actioncan be the performance of a call on a cell phone near the telephonedevice to be programmed. In this scenario, a user talking on a cellphone arrives at his/her desk at work, a location is determined, whichautomatically connects the desk phone with the conversation on the cellphone. The user can then disengage the cell phone and continue theconversation on the desk phone. In one embodiment of the invention, alocation is determined using a global positioning system (GPS). Inanother embodiment, a location is determined from a cellular phonesignal. Furthermore, in another embodiment, location is determined froma computer log-in, wherein a user is assumed to be located at a locationwhere they are logged into a computer.

[0051] The reverse is also possible with the preset automaticallydialing the cell phone so the user can continue a phone call initiatedat the desk phone and then continued on the cell phone.

[0052]FIG. 6 is a flow diagram 600 of an exemplary process wherein thelocation of a user is determined and an incoming call is directed to thelocation of the user in accordance with this embodiment of the presentinvention. The first step 602 is to receive a telephone call. Forexample, a call is made to a work phone number. The next step 604 is todetermine the location of the called party. The location of the calledparty can be determined by many different methods. For example, in oneembodiment of the present invention, the location of a called party canbe determined by a Global Positioning System (GPS). GPS can be used inconjunction with a cellular phone signal to locate the position of acalled party. In an alternate embodiment, location can be determined byexamining whether or not the user is logged into a computer. Forexample, it can be determined that a called party is at “the office” ifthey have logged into a computer that resides in the office. If a calledparty is logged into a computer at work, most likely the called party isin their office. The last step 606 is to transition the phone call tothe current location of the called party. For example, a user receivesan incoming call on a cellular phone while driving to work. If the callcontinues until the called party reaches work, and the called party haslogged into a work Intranet, the call would be transitioned from thecellular phone to an office phone because the call engine wouldrecognize that the called party's location was at “work.”

[0053] FIGS. 7A-7E provide illustrations of a novel telephone phonesystem and exemplary triggers for outgoing calls according toembodiments of the method of the present invention as set forth in theflow charts of FIGS. 8, 9 and 10. For purposes of clarity, the followingdiscussion will utilize illustrations of FIGS. 7A-7E in conjunction withthe flow charts 800, 900 and 1000 of FIGS. 8, 9, and 10 to clearlydescribe the embodiments of the present invention.

[0054]FIG. 7A is an illustration of an exemplary telephone system 100 inaccordance with an embodiment of the present invention. In oneembodiment of the present invention, telephone system 100 is integratedinto a computer system such as computer 12 of FIG. 3, but for claritypurposes, telephone system 100 will be described separately and isillustrated in FIG. 7A. Telephone system 100 comprises the functionalityof a conventional telephone, but is coupled to a computer system thathas the capability to connect outgoing telephone calls based onrecognized triggers. FIGS. 7B through 7E illustrate triggers associatedwith outgoing telephone calls and will be described in conjunction withFIG. 7A. Telephone system 100 comprises conventional functionality suchas a redial button 110. In addition, a soft speed dial button 108enables calls to be connected with the press of a button. For example, aphone number can be programmed so when speed dial button 108 is pressed,the phone number is automatically dialed. In addition to speed dialbutton 108, telephone system 100 comprises a conventional key pad 109, areceiver 103 and an optional caller ID display 105 which displays acaller's name 106 and a caller's phone number 107. If telephone system100 is integrated into a computer system, many of the functionality isaccessed through a graphical user interface by way of a soft speed dialbutton displayed on a computer screen. For example, button selectionscan be selected with a mouse click. A small display device, e.g., aliquid crystal display (LCD) 120 may be optionally used to identify theparty currently programmed into the soft speed dial button 108.

[0055]FIG. 7B is an illustration of an electronic mail message trigger400 for an outgoing call. In addition to FIG. 7B, FIG. 7C will bedescribed in conjunction with FIG. 8. Flow chart 800 of FIG. 8 beginswith step 802. At step 802, the present embodiment of the inventionreceives an electronic message. In one embodiment of the invention, anelectronic message can be an e-mail and in another embodiment of theinvention, an electronic message can be an instant message. In anadditional embodiment of the invention, an outgoing electronic messageis used as a trigger for an outgoing telephone call. After receiving anelectronic message, further communication is often needed. The receiverof an electronic message can either send a reply e-mail, instant messageor they can use an alternate method of communication. It has beenobserved that often an electronic message is a trigger for an outgoingtelephone call. For example, an e-mail is sent from management regardingan important report document. Rather than replying with an electronicmessage, the recipient would rather speak to the sender on the phone.The present invention will recognize the incoming electronic message andtransition the communication from e-mail or instant messaging to thetelephone.

[0056] The second step 804 of FIG. 8 is to look up the sender's phonenumber. The look up can be accomplished in many different ways. Forexample, in one embodiment of the present invention, an “address book”database is accessed and a phone number that is associated with ane-mail address or screen name is accessed. In FIG. 7B, an electronicmessage 700 is received and saved to an in-box 710 of an e-mailapplication. Many electronic message clients display the name and e-mailaddress associated with a new message. In FIG. 7B, a new message isreceived from “John Doe” and the associated e-mail address is“jdoe@isp.com.” In FIG. 7C an instant message 720 has been received.Once the sender has been identified, a look up is completed to retrievea phone number associated with the sender. In one embodiment of thepresent invention, a remote resource is accessed to retrieve the phonenumber. For example, an HTTP resource such as an Internet search enginecould be utilized to access a phone number. In an alternate embodimentof the present invention, a sender's phone number is accessed from aheader portion of the electronic message.

[0057] The next step in FIG. 8 can be to set a soft speed dial button806 (preset) or to dial the phone number for a pending call 808. Thedifference between a soft speed dial call and a pending call has beendescribed above. In one embodiment of the present invention, a user canmanually select between the two options. In one embodiment, a soft speeddial button 715 of FIGS. 7B and 7C is programmed by a computer system.In this embodiment, a user can call the phone number by selecting thesoft speed dial button 715 with a click of a mouse, or by selecting theprogrammed speed dial button on the telephone device 100.

[0058]FIG. 7D is an illustration 703 of a URL used as a trigger for anoutgoing telephone call in accordance with an embodiment of the presentinvention. Process 900 of FIG. 9 describes the steps performed whenusing a URL as a trigger for an outgoing call. For clarity, process 900of FIG. 9 will be described in conjunction with FIG. 7D. FIG. 7Dillustrates a user's browser application 730 and a URL 722. It isobserved that many times visiting a specific URL triggers an outgoingphone call to the party hosting or developing the URL. For example, auser doing online banking may wish to contact their bank while or aftervisiting the bank's URL. If the user is visiting a specific URL andwants to place a call to the party associated with the URL, a soft speeddial button 715 (or a programmed speed dial on telephone 100) can beselected to complete the call. The first step 902 of process 900 is torequest a URL. Once the URL is accessed the next step 904 is to look upa phone number associated with the URL. In one embodiment of the presentinvention the phone number associated with a specific URL is retrievedfrom the header portion of an HTML document. In another embodiment ofthe present invention a phone number associated with a specific URL isretrieved from a remote resource such as an Internet search engine. Atstep 906, a speed dial button 108 on a telephone device 100 or a softspeed dial button 715 can be programmed with the number obtained at step904. The user can use either to facilitate the call.

[0059]FIG. 7E is an illustration 704 of using a highlighted word as atrigger for an outgoing telephone call. For clarity purposes, FIG. 7Ewill be described in conjunction with process 1000 of FIG. 10. The firststep 1002 of process 1000 is to select a word. For example, FIG. 7Eillustrates a word processing application 740 and a document is opencalled “Resume for John Doe.” In one embodiment of the presentinvention, a user can select a word by highlighting it with the cursoror mouse. For example, a user could select the text “John Doe” and thecall engine 56 of FIG. 3 would perform the next step 1004 in process1000, which is to look up the phone number associated with thehighlighted word. The next step is to program the speed dial button andthen step 1006 is to transition the phone call. As described above, thetransitioned phone call can be a preset soft speed dial button 715 or aspeed dial button 108 as a pending or preset phone call.

[0060]FIGS. 11A and 11B are flow diagrams illustrating an exemplaryprocess wherein an electronic address query triggers an outgoingtelephone call in accordance with an embodiment of the presentinvention. Specifically, FIG. 11A is a flow diagram illustrating anexemplary process wherein looking up an address in an electronicdatabase triggers an outgoing call to the person that was looked up. Thefirst step 1102 is to look up an address in an electronic applicationdatabase. The next step 1104 is the telephone number of the locatedrecord is automatically programmed in a speed dial button for a presetcall or automatically connected for a pending call. The next step 1106,for a preset call, a user may wish to select the programmed button tocontact the person associated with the found record. For a pending call,the user needs to “pick up the receiver” to contact the personassociated with the found record. It is appreciated that when using apending telephone call, the users do not need to “press” a presetbutton. When using a preset call, the user may press the speed dialbutton to dial the number associated with the found entry.

[0061]FIG. 11B is an illustration of an exemplary process whereinentering a conference call in an electronic calendar applicationtriggers an outgoing telephone call in accordance with an embodiment ofthe present invention. The first step 1110 is a user enters the time anddate of a conference telephone call into an electronic calendarapplication. In one embodiment of the present invention, a user alsoenters the parties invited to the telephone conference call. The nextstep 1112 is when the date and time of the conference call arrive, theapplication determines the phone number(s) of the parties invited to theconference call.

[0062] Next, in step 1114, for a preset call, the phone number(s) of theinvited parties are programmed into a speed dial button. For a pendingcall, the parties involved are automatically connected. Lastly, in step1116, the user may wish to contact the person(s) associated with theconference call using a preset or pending phone call. In this step, auser can initiate the call by picking up the handset or by using methodsmentioned above. When using a preset call, the user may press the speeddial button to call the number(s) associated with the meeting orconference. When using a pending call, the callers are automaticallyconnected and to initiate conversation, the users need to “pick up thereceiver.”

[0063] In addition to audio conversations, the present invention can beimplemented to facilitate other modes of communication such as videoconferencing. It is appreciated that the present' invention is notlimited to audio communication, but can be implemented to facilitatemany different modes of communication. It is also appreciated that atelephone conversation can comprise a video component as well as anaudio component. For example, when using VOIP, a video component can beprovided in addition to the audio component to enhance communicationbetween parties.

[0064] Embodiments of the present invention, a system and method forconnecting pending and preset telephone calls to facilitatetransitioning to a phone call have been described. While the presentinvention has been described in particular embodiments, it should beappreciated that the present invention should not be construed aslimited by such embodiments, but rather construed according to thefollowing Claims.

[0065] The foregoing descriptions of specific embodiments of the presentinvention have been presented for purposes of illustration anddescription. They are not intended to be exhaustive or to limit theinvention to the precise forms disclosed, and obviously manymodifications and variations are possible in light of the aboveteaching. The embodiments were chosen and described in order to bestexplain the principles of the invention and it's practical application,to thereby enable others skilled in the art to best utilize theinvention and various embodiments with various modifications as aresuited to the particular use contemplated. It is intended that the scopeof the invention be defined by the Claims appended hereto and theirequivalents.

What is claimed is: 1) A method for facilitating a telephone callcomprising: identifying a trigger action associated with an outgoingtelephone call; accessing a phone number associated with said triggeraction; and automatically setting a programmable speed dial button withsaid phone number wherein by selecting said speed dial button, saidphone number associated with said trigger action is automatically dialedby a telephone device. 2) The method as described in claim 1 whereinsaid trigger action is receiving an electronic mail message from aparticular sender. 3) The method as described in claim 2 wherein saidphone number is accessed from a header portion of said electronic mailmessage. 4) The method as described in claim 1 wherein said phone numberis accessed from a remote server. 5) The method as described in claim 1wherein said trigger action is identified by a call engine and whereinsaid call engine examines call history and associated actions and basedthereon anticipates outgoing calls. 6) The method as described in claim1 wherein said trigger action is receiving an instant electronic messageand wherein said phone number is of a sender of said instant electronicmessage. 7) The method as described in claim 1 wherein said triggeraction is requesting a URL. 8) The method as described in claim 1wherein said trigger action is selecting text from a document whereinsaid text is associated with a telephone number. 9) The method asdescribed in claim 1 wherein said programmable speed dial buttonconnects multiple parties for a conference call. 10) The method of claim1 wherein said trigger action is a query into an electronic phone bookdatabase application and wherein said phone number is associated with alocated record of said database. 11) The method of claim 1 wherein saidtrigger action is identifying a date and time associated with ascheduled meeting as recorded in an electronic calendar applicationdatabase and wherein said phone number is associated with a member ofsaid meeting. 12) The method of claim 1 wherein said trigger action is auser arriving at a predetermined location and wherein said phone numberis associated with a phone located at said location. 13) The method asdescribed in claim 1 wherein said telephone call comprises a videoelement. 14) A system for facilitating connection of outgoing telephonecalls comprising: a computer system comprising a processor coupled to abus and a database coupled to said bus; a call engine coupled to saidbus wherein said call engine identifies a trigger action associated witha telephone call and retrieves a phone number associated with saidtrigger action; and a telephone coupled to said computer system andcomprising a speed dial button programmed with said phone number forautomatically dialing said phone number over a telephone network. 15)The system as described in claim 14 wherein said computer system iscoupled to the Internet. 16) The system as described in claim 14 whereinsaid computer system is coupled wirelessly to said telephone network.17) The system as described in claim 14 wherein said call engineretrieves said phone number from a remote server. 18) The system asdescribed in claim 14 wherein said trigger action is receiving anelectronic message. 19) The system as described in claim 14 wherein saidtrigger action is requesting a URL. 20) The system as described in claim14 wherein selecting text triggers an outgoing telephone call. 21) Acomputer system comprising a processor coupled to a bus and a memorycoupled to said bus and comprising instructions that when executedimplement a method of facilitating telephone calls based on associatedtrigger actions comprising: identifying a trigger action associated withan anticipated outgoing telephone call; retrieving a phone numberassociated with said trigger action; and automatically setting aprogrammable speed dial button wherein by selecting said speed dialbutton, said phone number associated with said trigger action is dialed.22) The computer system as described in claim 21 wherein said triggeraction is identified by a call engine, wherein said call engine examinescall history and associated actions and based therein anticipatesoutgoing calls. 23) The computer system as described in claim 21 whereinsaid trigger action is receiving an electronic mail message. 24) Thecomputer system as described in claim 21 wherein voiceover IP protocolis used to connect a call. 25) The computer system as described in claim21 wherein said speed dial button is part of a telephone device whichdials said phone number responsive to activation of said speed dialbutton. 26) The system as described in claim 21 wherein said speed dialbutton is a soft button displayed on a graphical user interface. 27) Acomputer implemented method of facilitating a communication over atelephone line comprising: a) automatically identifying a trigger eventassociated with a user; b) in response to said identifying,automatically determining a telephone number associated with saidtrigger event; and c) automatically programming a speed dial button withsaid telephone number to facilitate a telephone communication involvingsaid user. 28) A method as described in claim 27 wherein said triggerevent is said user receiving an electronic mail message and wherein saidtelephone number is a telephone number associated with a sender of saidelectronic mail message and wherein said telephone communication isbetween said user and said sender. 29) A method as described in claim 27wherein said trigger event is said user receiving an instant message andwherein said telephone number is a telephone number associated with asender of said instant message and wherein said telephone communicationis between said user and said sender. 30) A method as described in claim27 wherein said trigger event is said user locating a record in anelectronic database corresponding to a particular person and whereinsaid telephone number is a telephone number associated with saidparticular person and wherein said telephone communication is betweensaid user and said particular person. 31) A method as described in claim27 wherein said trigger event is the occurrence of a date and timecorresponding to a scheduled meeting as recorded in an electroniccalendar database and wherein said telephone number is a telephonenumber associated with a person involved in said meeting and whereinsaid telephone communication is between said user and said person. 32) Amethod as described in claim 27 wherein said trigger event is said useraccessing a web page over the Internet and wherein said telephone numberis a telephone number associated with said web page. 33) A method asdescribed in claim 27 wherein said telephone communication is a presettelephone call wherein multiple parties are connected. 35) A method asdescribed in claim 27 wherein said a)-c) are performed by a computersystem and wherein said speed dial button is a mechanical buttonintegrated on a telephone device coupled to said computer system. 35) Amethod as described in claim 27 wherein said speed dial button is agraphical user interface element of a display screen of a computersystem and further comprising d) automatically establishing saidtelephone communication in response to a user activating said speed dialbutton. 36) A method as described in claim 27 wherein said step b)comprises accessing a remote database with information obtained fromsaid trigger event to obtain said telephone number. 37) A method asdescribed in claim 27 wherein said step b) comprises accessinginformation from said trigger event to obtain said telephone number. 38)A method as described in claim 27 wherein said trigger event is saiduser reaching a predetermined location and wherein said telephone numberfacilitates transfer of a telephone communication from one telephonedevice to another telephone device located at said predeterminedlocation. 39) A method for facilitating a telephone call comprising:identifying a trigger action associated with an outgoing telephone call;accessing a phone number associated with said trigger action; andautomatically setting up a pending phone call, wherein a user associatedwith said pending call picks up a receiver to connect to a phoneconversation. 40) The method as described in claim 39 wherein saidtrigger action is receiving an electronic mail message from a particularsender. 41) The method as described in claim 40 wherein said phonenumber is accessed from a header portion of said electronic mailmessage. 42) The method as described in claim 39 wherein said phonenumber is accessed from a remote server. 43) The method as described inclaim 39 wherein said trigger action is identified by a call engine andwherein said call engine examines call history and associated actionsand based thereon anticipates outgoing calls. 44) The method asdescribed in claim 39 wherein said trigger action is receiving aninstant electronic message and wherein said phone number is of a senderof said instant electronic message. 45) The method as described in claim39 wherein said trigger action is requesting a URL. 46) The method asdescribed in claim 39 wherein said trigger action is selecting text froma document wherein said text is associated with a telephone number. 47)The method as described in claim 39 wherein said pending phone callconnects multiple parties for a conference call. 48) The method of claim39 wherein said trigger action is a query into an electronic phone bookdatabase application and wherein said phone number is associated with alocated record of said database. 49) The method of claim 39 wherein saidtrigger action is identifying a date and time associated with ascheduled meeting as recorded in an electronic calendar applicationdatabase and wherein said phone number is associated with a member ofsaid meeting. 50) The method of claim 39 wherein said trigger action isa user arriving at a predetermined location and wherein said phonenumber is associated with a phone located at said location. 51) Themethod of claim 39 wherein said telephone call comprises a videoelement.